package com.zimmur.app.mocolink.service;

import com.zimmur.app.mocolink.domain.form.UserMoneyForm;
import com.zimmur.app.mocolink.domain.model.AppUser;
import com.zimmur.app.mocolink.domain.param.AppUserParam;
import com.zimmur.app.mocolink.domain.util.PageUtil;
import com.zimmur.app.mocolink.domain.vo.AppUserInfo;
import com.zimmur.app.mocolink.domain.vo.AppUserInfoForManage;

public interface IAppUserService {
	/**
	 * 主键查询
	 *@Description
	 *@param userId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月13日 下午5:23:41
	 */
	AppUser selectById(Integer userId);
	/**
	 * 修改用户信息
	 *@Description
	 *@param appUser
	 *@return 
	 *@author zcx
	 *@Time 2017年10月13日 下午5:23:25
	 */
	int update(AppUser appUser);
	/**
	 * 根据账号查询用户
	 * 
	 *@Description
	 *@param account mobileNo
	 *@return 
	 *@author zcx
	 *@Time 2017年10月13日 下午5:22:35
	 */
	AppUser selectByAccount(String account);
	/**
	 * 新增用户
	 *@Description
	 *@param appUser
	 *@return 
	 *@author zcx
	 *@Time 2017年10月13日 下午5:24:10
	 */
	int add(AppUser appUser);
	/**
	 * 查询用户信息
	 *@Description
	 *@param userId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月13日 下午5:29:16
	 */
	AppUserInfo selectInfoByUserId(int userId);
	/**
	 * 检查昵称是否存在
	 *@Description
	 *@param nickname
	 *@return 
	 *@author zcx
	 *@Time 2017年10月14日 下午4:16:18
	 */
	boolean checkNickname(String nickname);
	/**
	 * 分页查询用户信息
	 *@Description
	 *@param param
	 *@return 
	 *@author zcx
	 *@Time 2017年10月23日 下午2:10:04
	 */
	PageUtil<AppUserInfoForManage> selectByParam(AppUserParam param);
	/**
	 * 批量更新用户等级
	 *@Description
	 *@param userIds
	 *@param gradeId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月25日 下午5:06:12
	 */
	int batchUpdateUserGrade(String userIds,Integer gradeId);
	/**
	 * 更新用户余额
	 *@Description
	 *@param form
	 *@return 
	 *@author zcx
	 *@Time 2017年10月26日 下午5:00:15
	 */
	int updateMoney(UserMoneyForm form);
}
